var a,b: MatrixInt;
bvec:
TMtxInt;
begin
a := MatrixInt.Create(
true);
//create from object cache via CreateIt
//this constructor can be omitted, because it is implicitly called
//the first time that the variable is used.
//However:
b := MatrixInt.Create(10);
//Similar to
bvec := TMtxInt.Create;
try
bvec.Size(10);
finally
bvec.Free;
//b is freed on the exit from the procedure
end;
end;